package com.hmy.material.mapper;

import java.util.List;
import com.hmy.material.domain.HmyMateriaFeedPurchase;
import org.apache.ibatis.annotations.Param;

/**
 * @author zxh
 * @version 1.0
 * @description: 物料进货DAO数据接口
 * @date 2024/1/29 14:33
 */
public interface PurchaseMapper {


    /**
     * 根据条件查询列表 条件：饲料类型、饲料供应商、进货时间
     * @param materiaFeedType 饲料类型
     * @param materiaFeedPurchaseProvider 饲料供应商
     * @param materiaFeedPurchaseDateStart 进货开始时间
     * @param materiaFeedPurchaseDateEnd 进货结束时间
     * @return 进货信息列表
     */
    List<HmyMateriaFeedPurchase> selectPurchaseList(@Param("type") Integer materiaFeedType,
                                                    @Param("provider") String materiaFeedPurchaseProvider,
                                                    @Param("dateStart") String materiaFeedPurchaseDateStart,
                                                    @Param("dateEnd") String materiaFeedPurchaseDateEnd);

    /**
     * 根据ID获取单个进货信息
     * @param materiaFeedPurchaseId ID
     * @return 返回单个对象
     */
    public HmyMateriaFeedPurchase selectPurchaseById(@Param("id") Long materiaFeedPurchaseId);

    /**
     * 新增进货表
     * @param purchase 参数为一个对象
     * @return 受影响行数
     */
    int addPurchase(HmyMateriaFeedPurchase purchase);

    /**
     * 修改进货表信息
     * @param purchase 修改对象
     * @return 受影响行数
     */
    int updatePurchase(HmyMateriaFeedPurchase purchase);

    /**
     * 根据ID删除进货表信息
     * @param materiaFeedPurchaseId 进货表ID
     * @return 受影响行数
     */
    int delPurchaseById(Long materiaFeedPurchaseId);

    /**
     * 根据ID批量删除信息
     * @param purchaseIds ID数组
     * @return 受影响行数
     */
    int delPurchaseByIds(Long[] purchaseIds);
}
